Synthesis from Assume-Guarantee Contracts using Skolemized Proofs of Realizability

نویسندگان

  • Andreas Katis
  • Grigory Fedyukovich
  • Andrew Gacek
  • John D. Backes
  • Arie Gurfinkel
  • Michael W. Whalen
چکیده

The realizability problem in requirements engineering is to determine the existence of an implementation that meets the given formal requirements. A step forward after realizability is proven, is to construct such an implementation automatically, and thus solve the problem of program synthesis. In this paper, we propose a novel approach to program synthesis guided by k-inductive proofs of realizability of assumeguarantee contracts constructed from safety properties. The proof of realizability is performed over a set of ∀∃-formulas, and synthesis is performed by extracting Skolem functions witnessing the existential quantification. These Skolem functions can then be combined into an implementation. Our approach is implemented in the JSyn tool which constructs Skolem functions from a contract written in a variant of the Lustre programming language and then compiles the Skolem functions into a C language implementation. For a variety of benchmark models that already contained hand-written implementations, we are able to identify the usability and effectiveness of the synthesized counterparts, assuming a component-based verification framework.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Towards Realizability Checking of Contracts Using Theories

Virtual integration techniques focus on building architectural models of systems that can be analyzed early in the design cycle to try to lower cost, reduce risk, and improve quality of complex embedded systems. Given appropriate architectural descriptions and compositional reasoning rules, these techniques can be used to prove important safety properties about the architecture prior to system ...

متن کامل

Machine-Checked Proofs for Realizability Checking Algorithms

Virtual integration techniques focus on building architectural models of systems that can be analyzed early in the design cycle to try to lower cost, reduce risk, and improve quality of complex embedded systems. Given appropriate architectural descriptions, assume/guarantee contracts, and compositional reasoning rules, these techniques can be used to prove important safety properties about the ...

متن کامل

Distributed PROMPT-LTL Synthesis

We consider the synthesis of distributed implementations for specifications in Prompt Linear Temporal Logic (PROMPT–LTL), which extends LTL by temporal operators equipped with parameters that bound their scope. For single process synthesis it is well-established that such parametric extensions do not increase worst-case complexities. For synchronous systems, we show that, despite being more pow...

متن کامل

A Model for Probabilistic Reasoning on Assume/Guarantee Contracts

In this paper, we present a probabilistic adaptation of an Assume/Guarantee contract formalism. For the sake of generality, we assume that the extended state machines used in the contracts and implementations define sets of runs on a given set of variables, that compose by intersection over the common variables. In order to enable probabilistic reasoning, we consider that the contracts dictate ...

متن کامل

Symbolic construction of GR(1) contracts for synchronous systems with full information

This work proposes a symbolic algorithm for the construction of assume-guarantee specifications that allow multiple agents to cooperate. Each agent is assigned goals expressed in a fragment of linear temporal logic known as generalized reactivity of rank 1 (GR(1)). These goals may be unrealizable, unless additional assumptions are made by each agent about the behavior of the other agents. The p...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:
  • CoRR

دوره abs/1610.05867  شماره 

صفحات  -

تاریخ انتشار 2016